package com.chatTools.config;

import com.chatTools.protocol.Serializer;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * @author： pang-yun
 * @date： 2021-09-18 13:57
 * 功能目的 ：用于  不希望一些 配置写死， 用配置文件来实现更改配置的操作
 */

public abstract class Config {
    static Properties properties;

    //-------------------加载配置类---------------------------
    static {
        try {
            InputStream in = Config.class.getResourceAsStream("/application.properties");
            properties=new Properties();
            properties.load(in);
        } catch (IOException e) {
            throw new ExceptionInInitializerError(e);
        }
    }

    //-----------------------------端口以及 序列化方法----------------------------
    public static int getServerPort(){
        String value = properties.getProperty("server.port");
        if (value==null){
            return 9999;
        }else {
            return Integer.parseInt(value);
        }
    }

    public static Serializer.Algorithm getSerializerAlgorithm(){
        String value = properties.getProperty("serializer.algorithm");
        if (value==null){
            return Serializer.Algorithm.Java;
        }else {
            return Serializer.Algorithm.valueOf(value);
        }
    }

}
